<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    mysql中一些簡單的對表結構進行的操作

    首先定義一個最簡單的表:

    create table user_test (
         id 
    int,
         name 
    varchar(20),
         descrb 
    text
         );
    這是一個再簡單不過的表了。現(xiàn)在我要對這個表的結構進行操作。
    首先,對id設置不能為空,
     alter table user_test modify id int not null;
    這個id我想讓系統(tǒng)自動生成,又要使用alter 命令了。
    alter table user_test change id id not null auto_increment;
    這樣行了吧。但是mysql給報了一個錯,
    ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
    說如果是自動增加的話必須是是一個主鍵。
    所以上面的那個語句必須修改為。

    我想將descrb的列名修改成為descb。
    alter table user_test change descrb descb text;
    對了學生不是有班級嗎?我想加入一個班級的列名,類型為varchar(10)的。
    alter table user_test add class varchar(10);
    現(xiàn)在我想對descb字段進行一個賦default值。
    使用的命令為:
    alter table user_test alter table descb set default "student";
    卻報了一個錯誤,意思是clob或是text類型不能有初始值。
    只能修改他的類型。
    還記得之前的命令嗎?
    alter table user_test change descb descb varchar(100);
    然后再使用賦初始值的命令。
    表是建立成功了,但是別人使用的時候卻說表的名字不是很好,又要我改表明。
    改成stdmsg,使用的命令是
    alter table user_test rename to stdmsg;
    表名也改好啦,問題又出來啦,同一個班級中不能有名字相同的人,這有要建立一個聯(lián)合主鍵了。
    alter table stdmsg add constraint UN_nc unique (class,name);
    或是:
    alter table stdmsg add constraint primary key PK_cn(class,name);
    unique和primary key之間的區(qū)別,我所知道很少,第一unique可以為空,而且一個表上可以建立多個。而設置primary key的話,字段不能為空。
    mysql數(shù)據(jù)庫會將其自動設置為不為空。
    如果想drop掉主鍵的話,
    對應的drop方法是不同的。
    alter table test drop index UN_nc;
    --針對于unique的drop。
    alter table test drop primary key;
    --針對于primary key的。
    新的需求又來了,我的這個stdmsg表中要添加一個學生,出生日期的列。
    alter table stdmsg add birth data;
    我要對這個birth進行一個check讓它在在‘1980-01-01’到‘1990-01-01’之間
    添加一個check
    alter table stdmsg add constraint U_check check(birth>'1985-01-01' and birth<'1990-01-01');
    測試這個check有用沒有,
    insert into stdmsg(name,class,birth) values ('tom','great_3','2001-12-30');
    但是這個insert 卻還是插入進去了,上Google找了下,基本知道m(xù)ysql的check是沒有用的。

    mysql中的auto_commit。一般默認為自動提交的,也就是autocommit=0;
    測試了一下使用autocommit=1;但是好像不是成功的。
    如果想啟動mysql不想自動提交的話,要設置mysql的my.ini文件中的配置。
    init_commit ='set autocommit=1'
    才可以。

    posted on 2009-10-30 18:56 duduli 閱讀(678) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團隊

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地攤兒

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    @duduli
    主站蜘蛛池模板: 亚洲精品动漫人成3d在线| 亚洲a级片在线观看| 亚洲精品乱码久久久久久中文字幕| 18禁止看的免费污网站| 国产精品永久免费视频| 亚洲国产欧美国产综合一区| 亚洲一级二级三级不卡| 亚洲熟妇中文字幕五十中出| 国产特级淫片免费看| 在线观看AV片永久免费| 999任你躁在线精品免费不卡| 一级毛片视频免费| 男男gvh肉在线观看免费| 亚洲 欧洲 日韩 综合在线| 亚洲欧洲国产精品你懂的| 亚洲色精品aⅴ一区区三区| 亚洲一区二区视频在线观看| 国产一级淫片视频免费看| 成年女人18级毛片毛片免费 | 国产免费人视频在线观看免费| 免费A级毛片无码A∨免费| 你好老叔电影观看免费| 亚洲AV乱码久久精品蜜桃| 国产成人亚洲影院在线观看| 俄罗斯极品美女毛片免费播放| 在线观看免费大黄网站| 毛片在线免费视频| 中文字幕不卡免费高清视频| 牛牛在线精品免费视频观看| 18禁亚洲深夜福利人口| 久久久亚洲精品视频| 久久精品国产亚洲av成人| 亚洲成A人片在线观看WWW| 好男人看视频免费2019中文| 噼里啪啦电影在线观看免费高清| 久久www免费人成看片| 午夜性色一区二区三区免费不卡视频| 无码人妻精品中文字幕免费东京热| 成人国产网站v片免费观看 | 精品久久久久成人码免费动漫| 日本zzzzwww大片免费|