unsigned int
auto_increment 自动增长
not null 非空
tinyint(m)
float(m,n) m 总长 n 数点后的位?br>mysqld --console 开?br>Mysqld (start)
Mysqld-nt
CREATE DATABASE db_name 创徏数据?br>USE db_name(选取数据?
Mysql 理
mysqladmin
Show databases 查看
mysql -h(hostname) -u(username) -p(要求输入密码?
quit 退?/p>
1、show tables
2、mysqladmin shutdown 关闭
3、mysql --h=hostname --u=username --p
4、DROP DATABASE db_name 删除
5、DROP TABLE 表的名字
6、CREATE TABLE 表的名字 SELECT Q要选择的列Q?FROM 原来的表 WHERE condition;
7、CREATE TABLE new_table SELECT id,name,sex FROM
8、INSERT INTO 表的名字 VALUES 跟的|‘列的?#8217;Q?#8216;列的?#8217;Q;
9、drop database name(数据库的名字Q?删除数据?br>10、CREATE TABLE name (id int,name varchar(20),sex ENUM('male','female'))创徏?/p>
11、DESCRIBE TABLE(表的名字Q?/p>
12、ALTER TABLE nameQ表的名字)ADD PRIMARY KEY Qindex_col_nameQ; 的主?/p>
13、ALTER TABLE nameQ表的名字)MODIFY id int(11) unsuptaigned(非负Q?not nullQ非I) auto_intcrementQ自动增长);
14、select * from 表的名字Q?/p>
SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;
15、update 表的名字 set 列的名字='数据' where id=LQ?修改和增加数?/p>
16、ALTER TABLE 表的名字 ADD 列名 cd Q?增加一个列
17、LOAD DATA INFILE ‘路径Q文件名’INTO TABLE 表名Q?nbsp; 导入数据
修改记录QUPDATE table_name SET column_name_1=column_value_1[,column_name2=column_value2] [WHERE where_statement] [LIMIT n];
? UPDATE xscj SET YuWen=80 WHERE id=101 (int型不?#8216;’Qchar 型要’‘Q?br>删除记录QDELETE FROM table_name [WHERE where_statements][LIMIT n];
DELETE FROM xscj WHERE id=101;
CREATE TABLE 表的名字 SELECT 要选择的列? FROM 原表?WHERE id=..(只提取一条记录)默认为全?
INSERT INTO 表名 VALUES Q与表对应的数|Q插入多个|Q,Q)SELECT * FROM 表名Q?br>有些关键字可以用``标v?nbsp; 例如Q`all`
18、创建烦引:
CREATE TABLE 表名 (id init,name varchar(20)) INDEX idx_id(id) PRIMARY KEY id
CREATE INDEX part_of_name ON customer (name(10));
19、ALTER TABLE 表名 ADD INDEX idx_id (id,name); 修改索引Q?/p>
20、ALTER TABLE 表名 DROP INDEX idx_id(索引的名? 删除索引
order by (DESC(降序)) 排序
select TOP 3(前三? student_id,name from xscj where student_id between 123 AND 1323 order by students_id ,name desc
SELECT student_id , count(*) AS ss FROM xscj GROUP BY student_id;
count(*) 记录行数
ab[123].com=ab1.com or ab2.com or ab3.com
mysql mytest < c:\study.txt 导入文g
临时?br>可用CREATE TEMPORARY TABLE 来创Z时表Q这些表在会话结束时会自动消失。用时表很方便,
因ؓ不必费心发布DROP TABLE 语句明确地删除这些表Q而且如果您的会话不正常结束,q些表不会滞?br>。例如,如果某个文g中有一个用mysqlq行的查询,您决定不{到其结束,那么可以在其执行的中途停
止这个查询,而且毫无问题Q服务器删除所创徏的Q意时表。在旧版的MySQL中,没有真正的时表
Q除了您在自q头脑中认为它们是临时的除外。对于需要这L表的应用E序Q必自p住删除这?br>表。如果忘了删除,或在前面使其存在的客h中出现错误时Q这些表在有人注意到q删除它们以前会一
直存在。时表仅对创徏该表的客h可见?/p>
DROP TABLE tb1_name1,tb1_name2,......
? ? 其次Q如果不能肯定一个表是否存在Q但希望如果它存
在就删除它。那么可在此语句中增加IF EXISTS?/p>
SELECT a,b,a+b INTO OUTFILE 'c:/result.text' FIELDS TERMINATED BY "" LINES TERMINATED BY "\n" FROM test_table;
SELECT user,MAX(salary) AS sum FROM users group by user HAVING sum>10 LIMIT 95,-1(95到最?;
@c:\study.sql 可以查看pȝ
SELECT * FROM table1 USE INDEX (key1,key2) WHERE key1=1 AND key2=2 AND key3=3;
主键与负键的联系?references
mysql数据库的授权
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用户名@localhost
identified by 密码Q?
如:新徏一个用户帐号以便可以访问数据库Q需要进行如下操作:
mysql> grant usageQ没有权限)
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此后创Z一个新用户叫:testuserQ这个用户只能从localhostq接到数据库q可以连接到test 数据库。下一步,我们必须指定testuserq个用户可以执行哪些操作Q?
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作testuser能够在每一个test数据库中的表执行SELECTQINSERT和DELETE以及UPDATE查询操作。现在我们结束操作ƈ退出MySQL客户E序Q?
mysql> exit
Bye
登陆Qmysql -u 用户?-p
删除用户 delete from user where user='名字1' [or user='名字2']Q?br> user 数据库是pȝ?br>
q行脚本Q?br>修改密码Q?br>USE mysql;
UPDATE user SET Password(字段?=PASSWORDQ一个函敎ͼ('new_password') WHERE user='root'
FLUSH PRIVILEGESQ(你必d诉服务器再次d授权表)
Mysqldump 数据库备?br>mysqldump -u -p 数据库名[表名]>Q重定向Q?br>mysqldump <